|
|
הוסיפו מידע על מעסיק
|
מהנדס תוכנה
|
|
שאלות מראיונות עבודה לתפקיד
|
|
|
|
|
Theworker >
תוכנה
>
פירוט שאלות מראיונות עבודה לתפקיד מהנדס תוכנה
פירוט שאלות מראיונות עבודה לתפקיד מהנדס תוכנה
1120 - 1111 מתוך 1494
|
|
|
|
מרץ 2017
|
20.06.2017
|
|
|
פרטים לגבי התהליך |
צריך לפתוח טופס מבחן על שפת C# עם עוד מספר שאלות כלליות, במשרדי החברה במגדל העמק. |
|
שאלות מתוך הראיון |
1.א. צריך לכתוב מה מבצע קטע הקוד.
1.ב. מה המשמעות של this בחתימת הפונקציה?
2. כתוב קטע קוד הממיר אובייקט ל-XML String
3. למה חשוב לבדוק if(event!=null) לפני ששולחים את ה-event ל-DLL?
4. צייר קלאס דיאגרם של מכונת קפה אשר מבצעת את ארבעת הפעולות הבאות:
1) מציגה את תהליך הכנת הקפה
2) מציגה הודעת שגיאה
3) מאפשרת כתיבת הודעה לתכנאי
4) מציגה את סוגי הקפה במכונה
*כמו כן, יש להתחשב בעובדה שבעתיד יש לבצע עוד שני פרויקטים דומים על אותה מכונה.
5. מה זה הרעבה ואיך מונעים אותה?
6. נתון קטע קוד של שאילתה.
א) האם השאילתה תקינה?
ב) מה השאילתה מבצעת?
7. מה הפונקציה הבאה תחזיר:
private int func(int a, int b, int c)
{
do{
c = c+b;
a = a-1;
}while(a>0);
return c;
}
8. האם interface (ממשק) יכול לרשת מיותר interface אחד? |
|
תשובות |
הוסף תשובה
|
לצפיה בתשובות
|
|
|
|
|
יוני 2017
|
|
1.א. הפונקציה מקבלת מבנה נתונים IList, יוצרת טבלה חדשה וממירה את IList לטבלה, כאשר העמודות הן המאפיינים ובשורות נמצאים הערכים.
1.ב. להמיר אובייקט למשתנה.
2.
public string ToXML()
{
var writer = new System.IO.StringWriter();
var serializer = new XmlSerializer(this.GetType());
serializer.Serialize(writer, this);
return writer.ToString();
}
3. כדי למנוע Null Pointer Exception, כלומר לבדוק אם ה-event אותחל. (ב#C חייב לבדוק, אבל ב++C או CLI (command line) לא תקפוץ שגיאה, אך לא יקרה כלום).
כמו כן, בדיקה זו גם חשובה, מאחר ואנו רוצים לוודא שבאמת אנחנו שולחים את ה-event שיצרנו.
5. הסתכלו בויקיפדיה.
7. c=a*b
8. ניתן לרשת ולממש מספר בלתי מוגבל של interfaces, אך ניתן לרשת רק מחלקה אחת.
|
|
|
|
אוגוסט 2017
|
|
הוסף תשובה ...
7. C=B*C-A
|
|
|
|
|
|
|
הוסף מידע על החברה
|
עוד מידע על TowerJazz :
|
|
|
מאי 2017
|
20.06.2017
|
|
|
פרטים לגבי התהליך |
צריך לענות על טופס שאלות, לאחר שמקפידים את הפלאפון בקבלה. |
|
שאלות מתוך הראיון |
1. פרט את המשתנים הפרימיטייבים של שפת C.
2. כתוב פונקציה ההופכת ביטים כמראה של מספר בן 32 ביט.
3. כתוב פונקציה המקבלת מערך של שלמים, גודל המערך ומשתנה שלם checksum ובודקת האם הchecksum שקיבלה שווה לסכום כל ביטי ה1 בכל המספרים במערך מודולו 256.
4. על מנת לפתח פרוטוקול בין 2 תוכניות שונות יש להשתמש בהודעה להעברת מסרים. פרט את מבנה ההודעה. |
|
תשובות |
הוסף תשובה
|
לצפיה בתשובות
|
|
|
|
|
יוני 2017
|
|
1.
char - גודל בית 1.
int - גודל 4 בתים.
float - גודל 4 בתים.
char*, int*, float*, double* - גודל 4 בתים (כתובת).
double - גודל 8 בתים.
ובהרחבה:
bool(אין בC), char, unsigned char, signed char, __int8 - 1 bytes
__int16, short, unsigned short, wchar_t, __wchar_t - 2 byte
float, __int32, int, unsigned int, long, unsigned long - 4 bytes
double, __int64, long double, long long - 8 bytes
__int128 - 16 bytes
2.
int reverse8bit(int x)
{
int bits = 8;
x = ((x & 0x55) << 1) | ((x & 0xAA) >> 1);
x = ((x & 0x33) << 2) | ((x & 0xCC) >> 2);
x = ((x & 0x0F) << 4) | ((x & 0xF0) >> 4);
return x;
}
4.
typedef struct STxMsgHeader
{
char prefix[4];
unsigned short OpCode;
unsigned short MessageLength;
unsigned short Status;
unsigned short SenderID;
unsigned short TargetID;
unsigned short MsgCounter;
} TxMsgHeader;
|
|
|
|
|
|
|
הוסף מידע על החברה
|
עוד מידע על אביב טכנולוגיות :
|
|
|
ראיון לתפקיד מהנדס תוכנה
בחברת קמינריו
מאי 2017
|
20.06.2017
|
|
|
פרטים לגבי התהליך |
היה לי רק ראיון טלפוני שלא צלחתי אותו.
התפקיד היה מפתח אוטומציה. |
|
שאלות מתוך הראיון |
בראיון טלפוני היו שאלות על מאפייני תכנות מונחה עצמים ולתאר איזה טסט שכתבתי הכי משך אותי ואיך הוא היה בנוי. |
|
|
|
|
הוסף מידע על החברה
|
עוד מידע על קמינריו :
|
|
|
ראיון לתפקיד מהנדס תוכנה
בחברת פלקס
מאי 2017
|
20.06.2017
|
|
|
פרטים לגבי התהליך |
היו שני מראיינים: ראש צוות ותכנת. תחילה ראש הצוות סיפר על החברה (מתמחה במכשירים רפואיים, חברה עולמית), ואח"כ ביקש שאספר להם עלי ומה עשיתי בעבודה הקודמת.
לאחר מכן ביקשו שאציג פרויקט שעשיתי, ולתאר מה היה במחלקות שונות, ובאילו תבניות עיצוב השתמשנו בפרוייקט.
אח"כ שאלו את השאלות המקצועיות.
*מאחר והאתר מגביל את גודל הטקסט ל1000 תווים, אז אפרסם את השאלות בחלקים. זה החלק השני. |
|
שאלות מתוך הראיון |
4. יש עובד חדש בחברה, שניסה לדבג את הקטע קוד הבא, ומשום מה הדיבוג עוצר דווקא ב-else. מה יכול לגרום לזה שהשתנה ה-x, אם הפונקציות g(), f() לא עוסקות ב-x?
int x = 5;
f();
g();
if (x==5)
{
... // Breakpoint here
}
else
{
... // Breakpoint here
}
5. מה זה volatile? |
|
תשובות |
הוסף תשובה
|
לצפיה בתשובות
|
|
|
|
|
יוני 2017
|
|
4.
סיבה 1:
יש תהליכון (thread) נוסף שרץ במקביל (למשל קובץ נוסף באותה סביבה) ומשנה את X לפני שמגיעים אל if.
סיבה 2:
יש פסיקה (interrupt) שהתעוררה ומשנה את X לפני שמגיעים אל if.
5.
אחד השלבים בהידור תכנית הוא אופטימיזציה. בשלב זה המהדר מנסה לבצע פעולות שונות בכדי לזרז ולייעל את פעולת התכנית. אחת מפעולות הייעול היא שמירת ערכו של משתנה שניגשים אליו פעמים רבות בקטע קוד מסוים ברגיסטר מהיר גישה.
במקרים מסוימים אנו מעונינים למנוע את האופטימיזציה. לדוגמא, כאשר משתנה מסוים עלול להשתנות ע"י מערכת ההפעלה, החומרה או ע"י תהליך אחר עליו להיות מאוחסן בזיכרון ולא ברגיסטר.
volatile הוא מציין בהגדרת משתנה המורה למהדר להימנע מלבצע עליו אופטימיזציה, ולא לשמור אותו ברגיסטר בזמן השימוש בו. דוגמא:
volatile int hw_flag;
|
|
|
|
|
|
|
הוסף מידע על החברה
|
עוד מידע על פלקס :
|
|
|
ראיון לתפקיד מהנדס תוכנה
בחברת קמטק
מאי 2017
|
20.06.2017
|
|
|
פרטים לגבי התהליך |
היו שני מראיינים בראיון. תחילה הם הסבירו על החברה: מייצרים מוליכים למחצה, לתעשיית רכיבי הזיכרון וה-CPU. לאחר מכן ביקשו שאסביר על פרויקט שעשיתי ואסרטט על דף את הדיזיין קלאס (OOD). תוך כדי שאלו שאלות על הסרטוט והפרוייקט, ושאלו איך היה אפשר לשלב בו מולטיטרדיניג. אח"כ שאלו שאלות טכניות. |
|
שאלות מתוך הראיון |
1. תאר פרויקט שעשיתי, כולל פירוט הדיזיין (עיצוב, ארכיטקטורה)
2. איך היית משלב multithreding (ריבוי חוטים) בפרויקט שלך?
3. יש מערכת צירים דו מיימדית (X,Y) ויש מבנה נתונים של קווים במערכת (לכל קו מצויין נק' התחלה ונק' סוף שלו). צריך לכתוב אלגוריתם שימצא את המספר המקסימלי של הקווים שיכולים להחתך על ידי קו מאונך אחד לציר ה-X.
4. מה ההבדל בין מחלקה (class) למבנה (struct) ב-#C?
5. מה קורה כאשר משתמשים בהמון מבנים בתוכנית אחת?
6. מה קורה כאשר שני מבנים מצביעים אחד על השני by reference ואף אחד לא מצביע עליהם? |
|
תשובות |
הוסף תשובה
|
לצפיה בתשובות
|
|
|
|
|
יוני 2017
|
|
3. יש ליצור מערך דינמי, שבו ישמרו נקודות ההתחלה ונקודות הסוף של כל קו, וצריך למצוא את האיזור בו יש הכי הרבה נקודות ההתחלה ועדיין לא סומנו נקודות סוף.
4. זיכרון המחלקה נשמר בערימה (heap). לעומת זאת, זיכרון המבנה נשמר במחסנית (stack), אך אם המבנה נמצא בתוך המחלקה אז הוא כמובן נשמר גם בערימה.
5. ה-Garbage Collector יזהה מבנים שכבר לא בשימוש וישחרר את הזיכרון שלהם. כך יתפנה מקום למבנים חדשים. (לא בטוח בתשובה).
6. ה-Garbage Collector יזהה זאת וישחרר את שניהם. (לא בטוח בתשובה).
|
|
|
|
פברואר 2019
|
|
3.
יוצרים רשימה אליה מזינים את כל הקוים בצורה ממוינת (מחזיקה איבר מסוג מבנה של נקודה ואם התחלה או סוף) - O(nlogn)
רצים על הרשימה ובעזרת counter שעולה עם מפגש בהתחלה ויורד עם מפגש של סוף וMaxcount ששומר את הערך המקסימלי ומוחזר בסוף מוצאים את נקודת החפיפה המקסימלית - O(n)
סה"כ o(nlogn)
|
|
|
|
|
|
|
הוסף מידע על החברה
|
עוד מידע על קמטק :
|
|
|
ראיון לתפקיד מהנדס תוכנה
בחברת וויבס
מרץ 2014
|
20.06.2017
|
|
|
פרטים לגבי התהליך |
בהתחלה היה ראיון מקצועי, אחרי זה היה ראיון עם HR ואז הגיע השלב של התרגיל. התרגיל בוצע כאשר אני נמצא בחברה ונמשך כשעתיים. |
|
שאלות מתוך הראיון |
ידע על תכנות מונחה עצמים. היה צורך לספר על איזשהו פרוייקט ולתאר דיזיין |
|
|
|
|
הוסף מידע על החברה
|
עוד מידע על וויבס :
|
|
|
ראיון לתפקיד מהנדס תוכנה
בחברת מלאנוקס
אפריל 2016
|
20.06.2017
|
|
|
פרטים לגבי התהליך |
כמו כל מקום אחר, מגייסת, שני ראיונות טכניים, ראיון כח אדם, הצעת עבודה |
|
שאלות מתוך הראיון |
למצוא מספר חסר במערך, שני מספרים, לשפר סיבוכיות |
|
תשובות |
הוסף תשובה
|
לצפיה בתשובות
|
|
|
|
|
יולי 2018
|
|
איבר אחד: נסכום את כל האיברים עד N, נוריד מסכום זה את אברי המערך, המספר שיצא הוא המספר החסר.
שני איברים חסרים: נסכום את כל האיברים עד N, נכפול את כל האיברים עד N, נקבל שני משוואות בשני נעלמים.
וכך נמצא את שני האיברים החסרים.
|
|
|
|
|
|
|
הוסף מידע על החברה
|
עוד מידע על מלאנוקס :
|
|
יש לכם מה להוסיף ?
|
|
|
|
|
|